package com.gg.common.mapper;

import com.gg.common.pojo.SysMenus;
import com.gg.common.pojo.SysRoles;
import com.gg.hj.view.SysRolesView;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysRolesMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(SysRoles record);

    int insertSelective(SysRoles record);

    SysRoles selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(SysRoles record);

    int updateByPrimaryKey(SysRoles record);

    /**
     * TODO 查询所有角色
     * @return SysRoles
     * @throws Exception
     */
    List<SysRoles> queryRoleAll() throws Exception;

    /**
     * TODO 根据角色编号查询具有的菜单 授权目标
     * @return SysMenus
     * @throws Exception
     */
    List<SysMenus> searchQueryByIdMenu(int id) throws Exception;

    /**
     * TODO 删除授权目标菜单
     * @param authorizeId
     * @param menuIds
     * @throws Exception
     */
    void removeMenuId(@Param("authorizeId") int authorizeId,@Param("menuIds") int[] menuIds) throws Exception;
    /**
     * TODO 删除授权目标菜单
     * @param authorizeId
     * @param menuIds
     * @throws Exception
     */
    void saveMenuId(@Param("authorizeId") int authorizeId,@Param("menuIds") int[] menuIds) throws Exception;

    /**
     * TODO 新增角色
     * @param sysRoles
     * @return
     */
    int saveRole(SysRoles sysRoles);
}